how javascript runs